package com.cskaoyan.javase.stringbuffer._0introduction;

/**
 * 字符串对象的频繁拼接操作,如果使用String进行"+"拼接,那么存在非常大的效率问题
 * 实际开发中不建议这么做
 *
 * 原因: String对象不可变,所以String "+"号拼接运算,每拼接一次
 * 就要创建一个新的对象,这样频繁的创建对象,效率必然很差
 *
 * 于是为了提高拼接操作的效率,JDK中提供了可变字符串来完成这个操作
 *
 * @since 09:48
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
       /* String s = "";
        for (int i = 0; i < 50000; i++) {
            s += "str";
        }
        System.out.println(s);*/

        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < 100000; i++) {
            sb.append("abc");
        }
        System.out.println(sb.toString());
    }
}
class Student{
    private String name;
    private int age;

    @Override
    public String toString() {
        final StringBuffer sb = new StringBuffer("Student{");
        sb.append("name='").append(name).append('\'');
        sb.append(", age=").append(age);
        sb.append('}');
        return sb.toString();
    }
}